package root.client;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("greet")
public interface GreetingService extends RemoteService{

	public void Usuario();
	public void criarUsuario(String login, String nome, String endereco) throws Exception;
	public String abrirSessao(String login) throws Exception;
	public String getAtributoUsuario(String login, String atributo) throws Exception;
	public String cadastrarItem(String IdSessao, String nome, String descricao, String categoria) throws Exception;
	public String getAtributoItem(String idItem, String atributo) throws Exception;
	public String localizarUsuario(String idSessao, String chave,String atributo) throws Exception;
	public String localizarUsuario(String idSessao) throws Exception;
	public String getRequisicoesDeAmizade(String idSessao) throws Exception;
	public void requisitarAmizade(String idSessao, String login)throws Exception;
	public boolean ehAmigo(String idSessao, String login) throws Exception;
	public void aprovarAmizade(String idSessao, String login) throws Exception;
	public String getAmigos(String idSessao) throws Exception;
	public String getAmigos(String idSessao, String login) throws Exception;
	public String getItens(String idSessao) throws Exception;
	public String getItens(String idSessao, String login) throws Exception;
	public String getEmprestimos(String idSessao, String tipo) throws Exception;
	public String requisitarEmprestimo(String idSessao, String idItem,int duracao) throws Exception;
	public String aprovarEmprestimo(String idSessao,String idRequisicaoEmprestimo) throws Exception;
	public void devolverItem(String idSessao, String idEmprestimo) throws Exception;
	public void confirmarTerminoEmprestimo(String idSessao, String idEmprestimo) throws Exception;
	public String enviarMensagem(String idSessao, String destinatario, String assunto, String mensagem)throws Exception;
	public String enviarMensagem(String idSessao, String destinatario, String assunto, String mensagem,String idRequisicaoEmprestimo)throws Exception;
	public String lerTopicos(String idSessao, String tipo) throws Exception;
	public String lerMensagens(String idSessao, String idTopico) throws Exception;
	public void requisitarDevolucao(String idSessao, String idEmprestimo) throws Exception;
	public void adicionarDias(int dias);
	public void registrarInteresse(String idSessao, String idItem) throws Exception;
	public String pesquisarItem(String idSessao, String chave, String atributo,String tipoOrdenacao, String criterioOrdenacao) throws Exception;
	public void desfazerAmizade(String idSessao, String loginAmigo) throws Exception;
	public void apagarItem(String idSessao, String idItem) throws Exception;
	public String getRanking(String idSessao, String categoria)throws Exception;
	public String historicoAtividades(String idSessao) throws Exception;
	public String historicoAtividadesConjunto(String idSessao) throws Exception;
	public String publicarPedido (String idSessao, String nomeItem, String descricaoItem) throws Exception;
	public void rePublicarPedido(String idSessao,String idPublicacao) throws Exception;
	public void oferecerItem(String idSessao,String idPublicacaoPedido,String idItem) throws Exception;
	public void zerarSistema();
	public void encerrarSistema();
}
